5 research outputs found

    Evaluación de atributos de calidad en líneas de productos software de forma efectiva en costes

    Get PDF
    Software product line engineering is a software development paradigm that allows the systematic reuse in the development of a product family, a set of related products that share common features. A feature is a relevant aspect or characteristic of a system. In software product line engineering, the quality validation (to assure that the quality requirements are met) is very important. It is necessary to ensure that the product line assets, especially the product line architecture is exible enough to support all the products of the line and any new future product. However, traditionally, during the evaluation time only the functional requirement variability has been considered and the quality attribute variability has received little attention. In order to overcome this limitation, the CaLiPro method to evaluate quality in software product lines has been proposed. With this method, the evaluation of the quality attributes and their variability within a software product line can be achieved in a coste ective way. This method is based on the modeling of the quality attribute variability throughout the development phase. This modeling also helps to de ne the relationships and interactions between the functional and the quality attribute variability. Therefore, it is viable to predict which variable aspects a ect quality in order to reduce the evaluation work and to avoid the validation of each product individually. Two strategies are proposed herein to reduce evaluation e ort: 1) to create a generic evaluation model (with variability) to allow the evaluation of all the products at the design level and 2) to select the minimum number of products or designs in order to evaluate and extrapolate the results to the overall product line. Although the main goal of this method is the evaluation, the results obtained from this evaluation can be very useful during the derivation. The method also has a phase to facilitate quality aware product derivation.Software produktu lerroen ingeniaritza softwarea garatzeko paradigma bat da, eta produktu familiak sortzeko sistematikoki berrerabiltzea ahalbidetzen du. Produktu familiak elkarrekin harremana duten produktu multzoak dira, zenbait ezaugarri (features) batean dituztenak. Ezaugarriok sistema batean gailentzen direnak dira. Software produktu lerroen ingeniaritzan, oso garrantzitsua da kalitatea garaiz egiaztatzea: kalitate atributuak bete egingo direla ziurtatzea. Produktu lerroetako aktiboak malguak izan daitezela ziurtatu behar da, produktu lerroen egitura bereziki, eta lerroko produktu guztientzat (baita etorkizuneko produktuentzat ere) euskarri gisa balioko dutela. Alabaina, ebaluatzeko orduan irizpide funtzionalak soilik hartu ohi dira kontuan, eta kalitate atributuen aldakortasunak ez du ikertzaileen arreta bereganatzen. Arazo horri aurre egiteko CaLiPro metodoa proposatzen dugu. Metodo horrek kalitate atributuak eta beraien aldakortasuna ebaluatzeko aukera ematen du software produktu lerroetan, modu eraginkor batean eta koste baxuarekin. Oinarrietako bat kalitate atributuen aldakortasuna modelatzea da: garapenaren une guztietan kalitatearen aldakortasuna balioestea, lehen graduko entitatetzat hartzea, alegia. Hala, aldakortasun funtzionalaren eta kalitate atributuen aldakortasunaren arteko harremanak eta interakzioak atzeman daitezke, eta posible da kalitatean eragiten duten ezaugarri aldakorrak zein diren jakitea, eta informazio hori ebaluazio ahalegina murrizteko erabiltzea, produktu denak banan-banan ebaluatu beharrik gabe. Ebaluazio ahalegina murrizteko bi estrategia proposamen dauzkagu: batetik, ebaluaketa modelo generikoa (aldakorra) sortzea; horrek produktu lerroetako produktu guztiak ebaluatzea ahalbidetuko du. Eta bestetik, ahalik eta produktu edo diseinu kopuru txikiena aukeratzea ebaluaziorako, eta gero emaitzak lerro osora estrapolatzea. Metodoaren helburu nagusia kalitatea ebaluatzea bada ere, lortutako emaitzak oso baliagarriak dira deribazio aldian ere. Horregatik, kalitate irizpideak aintzat hartuta produktuen deribazioa errazteko fase bat ere aurreikusten da.La ingeniería de línea de productos software es un paradigma de desarrollo software que permite una reutilización sistemática en el desarrollo de una familia de productos, un conjunto de productos relacionados que comparten características (features) comunes. Una feature es un aspecto o característica relevante de un sistema. En la ingeniería de líneas de productos software, la validación temprana de la calidad (asegurar que los requisitos de calidad se van a lograr) cobra una importancia especial. Hay que asegurar que los activos de la línea de productos, sobre todo la arquitectura de línea de productos, sean exibles y den soporte a todos los productos de la línea, así como a futuros productos. Sin embargo, tradicionalmente a la hora de evaluar, sólo se ha considerado la variabilidad en los requisitos funcionales y la evaluación de la variabilidad en los atributos de calidad ha recibido poca atención. Para responder a esta problemática, se propone el método Ca-LiPro (Evaluación de atributos de Calidad en Líneas de Productos Software) que permite evaluar los atributos de calidad y su variabilidad en una línea de productos software de una forma efectiva en costes. Una de las bases del método es el modelado de la variabilidad en los atributos de calidad, que trata la variabilidad de los atributos de calidad como una entidad de primer grado durante todo el desarrollo y permite capturar las relaciones e interacciones existentes entre la variabilidad funcional y la variabilidad en los atributos de calidad. De este modo, es posible centrarse en los aspectos variables que afectan a la calidad y utilizar esta información para reducir el esfuerzo de evaluación y evitar tener que evaluar todos los productos uno a uno. Para ello, se proponen dos estrategias de reducción de esfuerzo de las evaluaciones: crear un modelo de evaluación genérico (con variabilidad) que permita evaluar a nivel de diseño todos los productos de la línea y seleccionar el mínimo número de productos o diseños para su evaluación de modo que se puedan extrapolar los resultados a toda la línea. Aunque el objetivo principal del método es la evaluación de la calidad, los resultados obtenidos de la evaluación son una informaci ón muy útil durante la derivación. Por esta razón, el método también contempla una fase para facilitar una derivación de productos tendiendo en cuenta aspectos de calidad

    Runtime observable and adaptable UML state machines: [email protected] approach

    Get PDF
    n embedded system is a self-contained system that incorporateselements of control logic and real-world interaction. UML State Ma-chines constitute a powerful formalism to model the behaviour ofthese types of systems. In current industrial environments, the soft-ware of these embedded systems have to cope with the increasingcomplexity and robustness requirements at runtime. One way tomanage these requirements is having the software component’sbehaviour model available at runtime ([email protected]). Thus,it is possible to enhance the safety of the software component byenabling verification and adaptation at runtime. In this paper, wepresent a model-driven approach to generate software components(namely, RESCO framework), which are able both to provide theirinternal information in model terms at runtime and adapt their be-haviour automatically when an error or an unexpected situation isdetected. The aforementioned runtime introspection and adaptationabilities are added automatically to the software component and itdoes not require the developer make any extra effort. The solutionhas been tested in the design and implementation of an industrialBurner controller. Results indicate that the software components ge-nerated by the presented solution provides introspection at runtime.Thanks to this introspection ability at runtime, the software com-ponents are able to adapt automatically from their normal-modebehaviour to a safe-mode behaviour which was defined to be usedin erroneous or unexpected situations at runtime. Therefore, it ispossible to enhance the safety of the systems consisting of thesesoftware components

    MDE based IoT Service to enhance the safety of controllers at runtime

    Get PDF
    One of the challenges for complex IoT software systems is toincrease their safety. A Model Driven Development approach helps in the design and development phase of these systems while runtime checkin gtechniques help to enhance safety. To supervise the status of different IoT services that are registered in a local cloud at runtime, the solution that is presented in this work uses the information that it receives from the different services registered in a local cloud in model terms. The runtime checker, the new Safety related service of the Arrowhead framework, has predefined contracts to ensure the correctness of the services at runtime.Based on these contracts and checking the information that it receives at runtime it is able to detect unsafe scenarios. Once an unsafe scenario is detected, it starts a safe process to protect the behaviour of the whole system adapting the wrong service or services to a degraded operation mode at runtime. All these services will be Arrowhead compliant
    corecore